package org.csu.jpetstore.service;

import org.csu.jpetstore.bo.LineItemBO;
import org.csu.jpetstore.bo.OrderBO;
import org.csu.jpetstore.entity.LineItem;

import java.util.List;

/**
 * @author huangzhangyan
 */
public interface OrderService {

    /**
     * 通过username获取该用户订单列表
     *
     * @param username 用户名
     * @return List<OrderBO>
     * @author huangzhangyan
     * @date 2022/4/13 19:42
     */
    List<OrderBO> getOrderBOListByUsername(String username);

    /**
     * 通过订单号获取订单
     *
     * @param orderId 订单号
     * @return OrderBO
     * @author huangzhangyan
     * @date 2022/4/13 19:50
     */
    OrderBO getOrderBOById(int orderId);


    /**
     * 插入订单
     *
     * @param orderBO 订单
     * @author huangzhangyan
     * @date 2022/4/13 19:54
     */
    void insertOrder(OrderBO orderBO);

    /**
     * 更新订单状态为 已付
     *
     * @param orderId 订单号
     * @description 付完款修改订单的状态
     * @author CSU_Luoyuhang
     * @date 2022/4/13 15:21
     */
    void updateOrder(String orderId);

    @Deprecated
    List<LineItem> getLineItemListByOrderId(int orderId);

    /**
     * 根据订单号获取 LineItemBO
     *
     * @param orderId 订单号
     * @return List<LineItemBO>
     * @author huangzhangyan
     * @date 2022/4/15 20:55
     */
    List<LineItemBO> getLineItemBOListByOrderId(int orderId);
}
